package com.ptu.spzx.manager.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.ptu.spzx.model.dto.system.*;
import com.ptu.spzx.model.entity.system.SysCourseUser;
import com.ptu.spzx.model.entity.system.SysUser;
import com.ptu.spzx.model.entity.user.UserInfo;
import com.ptu.spzx.model.vo.common.Result;
import com.ptu.spzx.model.vo.h5.UserInfoVo;
import com.ptu.spzx.model.vo.system.LoginVo;
import com.ptu.spzx.model.vo.system.SysUserVo;


import java.util.List;

public interface SysUserService  extends IService<SysUser> {
    LoginVo login(LoginDto loginDto);

    void logout();

    PageInfo<SysUser> findByPage(Integer pageNum, Integer pageSize, String keyword);

    void saveSysUser(SysUserDeptDto sysUserDeptDto);

    void updateSysUser(SysUser sysUser);

    void deleteById(List<Long> userId);

    void doAssign(AssginRoleDto assginRoleDto);

    void doAssignDept(AssginDeptDto assginDeptDto);

    Result userInfo();

    void setClassId(List<String> stuIds, String className);

    SysUser getStu(String stuId);

    List<SysUser> getStuList(String className);

    List<String> getStuListByClass(String className);

    void setClaaNull(String className);

    PageInfo<SysUser> getStuListByClassName(List<String> classNames, Integer pageNum, Integer pageSize);

    List<SysUser> getStuListByAllClassName(List<String> stuIds);

    SysUser getStuInfo(String userName);

    PageInfo<SysUser> getUserBudeptId(Integer deptId,Integer pageNum,Integer pageSize);
}
